Complex structures in an electronic design are often automatically generated from a set of parameters. “Guard rings” are examples of complex structures that may be formed based upon a programmable set of parameters that is used to create geometric objects in an electronic layout. A guard ring is a ring-like auxiliary circuit structure that is placed in a circuit to prevent negative electrical effects in the circuit. For example, guard rings are often used in CMOS circuit designs to address latchup problems for the electrical design.
A common example of an approach to implement such complex designs with parameters is to use parameterized cells (pcells). Pcells have been used for many years in designing full custom chip designs. The pcells are evaluated every time the design is opened. The highly dynamic nature of pcells introduces a level of variability that the design teams may want to control.
The pcell is associated with a set of parameters that may be programmed and/or set with values that, properly evaluated, allows the pcell to be instantiated into design elements on a circuit layout. The guard ring, for example, may be implemented using one or more pcells that have been programmed with the appropriate parameters to generate a guard ring instance when the parameters are properly evaluated.
While powerful when properly programmed or configured, the general problem with parameterized designs is that, conventionally, these designs may only be edited through those parameters. This approach provides a very effective programmatic way to edit the designs, but is not very intuitive when it is desired to visually modify shapes in the design.
One approach that can be taken is to use ROD MPP, e.g., ROD MPP guard rings. These guard rings can be edited like a shape. However, the problem is that these structures are not programmable and do not support advanced editing processes such as merging.
Therefore, there is a need for an advanced approach to implement electronic designs that allows for visual editing in combination with advanced editing methodologies while also allowing programmability for the design objects.